package com.yunzhong.appointment.system.service;

import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.yunzhong.appointment.entity.SysRole;
import com.yunzhong.appointment.util.PageData;
import com.yunzhong.appointment.util.SelectOptions;

/**
 * 
 * @className SysRoleService
 * @description 角色模型层接口
 * @author 石洪刚
 * @time 2017年11月13日 下午2:52:29
 */
public interface SysRoleService {
	
	/**
	 * 
	 * @methodName listRole
	 * @description 查询角色
	 * @author 石洪刚
	 * @time 2017年11月13日 下午3:08:08
	 * @param pd
	 * @return
	 */
	List<SysRole> listRole(PageData pd);
	/**
	 * 
	 * @methodName getRoleById
	 * @description 根据主键查询角色
	 * @author 石洪刚
	 * @time 2017年11月13日 下午3:08:17
	 * @param id
	 * @return
	 */
	SysRole getRoleById(String id);
	/**
	 * 
	 * @methodName saveOrUpdateRole
	 * @description 增加或修改角色
	 * @author 石洪刚
	 * @time 2017年11月13日 下午3:08:28
	 * @param role
	 */
	void saveOrUpdateRole(SysRole role);
	/**
	 * 
	 * @methodName removeRole
	 * @description 删除角色
	 * @author 石洪刚
	 * @time 2017年11月13日 下午3:08:39
	 * @param ids
	 */
	void removeRole(String[] ids);
	/**
	 * 
	 * @methodName checkRoleName
	 * @description 验证角色名称是否重复
	 * @author 石洪刚
	 * @time 2017年11月13日 下午3:08:54
	 * @param roleName
	 * @param roleId 
	 * @return
	 */
	JSONObject checkRoleName(String roleName, String roleId);
	/**
	 * 
	 * @methodName listRoleMenuByRoleId
	 * @description 根据角色主键查询角色菜单数据
	 * @author 石洪刚
	 * @time 2017年11月13日 下午4:14:03
	 * @param id
	 * @return
	 */
	List<SelectOptions> listRoleMenuByRoleId(String id);
	/**
	 * 
	 * @methodName saveOrUpdateRoleMenu
	 * @description 保存或修改角色菜单数据
	 * @author 石洪刚
	 * @time 2017年11月13日 下午4:51:00
	 * @param menuIds
	 * @param roleId
	 */
	void saveOrUpdateRoleMenu(String menuIds, String roleId);
	

}
